//1.
import Vue from 'vue'//导入依赖（Vue 库、根组件、状态管理）
//2.
import App from './App'//导入App组件配置(组件根模板,注册的子组件,组件数据data(){return{}},methods方法,生命周期钩子等)
import './uni.promisify.adaptor'
import uniTag from '@dcloudio/uni-ui/lib/uni-tag/uni-tag.vue'
import { showMessage } from './utils/message'//封装并且导入一个方法
import http from './utils/request'//man.js入口文件导入http
import store from './store'
Vue.prototype.$http=http//挂载到原型对象上这样使用的时候直接this.$http.get()就能获取实例发请求了，不用再导入导出
Vue.prototype.$showMessage=showMessage//toast消息提示挂载
Vue.config.productionTip = false
Vue.component('uni-tag', uniTag)
App.mpType = 'app'
Vue.filter('formatNum',(price)=>{
    return price ? Number(price).toFixed(2) : '0.00';
})
//3.创建实例（组合所有核心功能）
const app = new Vue({
  ...App,//渲染 App 组件
  store,//将 store 模块关联到 Vue 实例上, 注入后可全局通过this.$store 访问
  // router  // 注入后可全局通过 this.$router 访问,小程序不用路由
})
//4.app.$mount()将虚拟DOM转换为真实DOM   public/index.html提供DOM容器和基础HTML结构
app.$mount()//挂载到HTML的<div id="app"></div>触发实际渲染 
//Vue的虚拟DOM最终需要挂载到public/index.html中指定的DOM节点(通常是 <div id="app"></div>)不是直接挂载到整个HTML文件
